﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Content;
using System.IO;

namespace DynaSpace
{
	/// <summary>
	/// Třída pro načítání obsahu jednotlivým komponentám podle jejich umístění
	/// </summary>
	internal class DynaContentManager : ContentManager
	{
		public DynaContentManager(IServiceProvider serviceProvider)
			:base(serviceProvider)
		{
		}

		/// <summary>
		/// Vrací nebo nastavuje RootDirectory
		/// </summary>
		public new string RootDirectory
		{
			get;
			set;
		}

		/// <summary>
		/// Vrací nebo nastavuje složku obsahu, která se použije, pokud je RootDirectory prázdná.
		/// </summary>
		public string DefaultRootDirectory
		{
			get;
			set;
		}

		public override T Load<T>(string assetName)
		{
			string path = string.IsNullOrEmpty(this.RootDirectory) ? this.DefaultRootDirectory : this.RootDirectory;
			path = Path.Combine(path, assetName);
			return base.Load<T>(path);
		}
	}
}
